package com.myk.game.heroscuffle.game;

import com.myk.game.heroscuffle.events.HeroEventListener;
import com.myk.game.heroscuffle.events.HeroEvent_AfterAction;
import com.myk.game.heroscuffle.events.HeroEvent_AfterBeAttack;
import com.myk.game.heroscuffle.events.HeroEvent_AfterDoAttack;
import com.myk.game.heroscuffle.events.HeroEvent_AfterSkillTrigger;
import com.myk.game.heroscuffle.events.HeroEvent_BeforeAction;
import com.myk.game.heroscuffle.events.HeroEvent_BeforeBeAttack;
import com.myk.game.heroscuffle.events.HeroEvent_BeforeDoAttack;
import com.myk.game.heroscuffle.events.HeroEvent_BeforeSkillTrigger;
import com.myk.game.heroscuffle.events.HeroEvent_Death;
import com.myk.game.heroscuffle.events.HeroEvent_SufferDamage;

/**
 * 英雄流程各个环节的回调事件中心
 */
public class HeroEvents {
    public HeroEventListener<HeroEvent_BeforeAction> onBeforeAction;
    public HeroEventListener<HeroEvent_AfterAction> onAfterAction;
    public HeroEventListener<HeroEvent_BeforeDoAttack> onBeforeDoAttack;
    public HeroEventListener<HeroEvent_BeforeBeAttack> onBeforeBeAttack;
    public HeroEventListener<HeroEvent_AfterBeAttack> onAfterBeAttack;
    public HeroEventListener<HeroEvent_AfterDoAttack> onAfterDoAttack;
    public HeroEventListener<HeroEvent_BeforeSkillTrigger> onBeforeSkillTrigger;
    public HeroEventListener<HeroEvent_AfterSkillTrigger> onAfterSkillTrigger;
    public HeroEventListener<HeroEvent_SufferDamage> onSufferDamage;
    public HeroEventListener<HeroEvent_Death> onDeath;

    public HeroEvents(){
        onBeforeAction = new HeroEventListener<>();
        onAfterAction = new HeroEventListener<>();
        onBeforeDoAttack = new HeroEventListener<>();
        onBeforeBeAttack = new HeroEventListener<>();
        onAfterBeAttack = new HeroEventListener<>();
        onAfterDoAttack = new HeroEventListener<>();
        onBeforeSkillTrigger = new HeroEventListener<>();
        onAfterSkillTrigger = new HeroEventListener<>();
        onSufferDamage = new HeroEventListener<>();
        onDeath = new HeroEventListener<>();
    }
}
